HTML5 文件读取 <input type="file"/> 元素input=file的新增API
fileAPI主要有5个:
FileUpload:当用户选择或编辑一个文件名,file-upload 元素触发 onchange 事件句柄
FileList:可以看成一个对象,包含上传文件的相关信息,其中包括了File对象
File:可以看成是FileList的一个属性,它包含了文件的基本信息
FileReader:HTML5新增的API ,可以理解成一个封装好的函数,文件的读取都是由它完成的,如果需要使用需要new操作符创建一个读取对象;
FileError:这个类可以自己生成,主要用来提示文件操作中的错误,
DataTransfer,,Blob,。
首先,从源头来理解:看一下demo我们简单做一个工作中常用的头像上传的功能:
html代码:
|
|
script代码:功能实现是点击input=button上传头像的按钮,可以将input=file里面的选择的文件上传;
|
|
1 当我们没有先选择文件的时候,直接点击button按钮,此时控制台输出如下
因为没有选择文件上传,所以此时FileList的length为0 ;
|
|
2 如果我们选择一个文件上传之后,此时在点击button,此时控制台输出:(注意fileDom.files[0]中的0 代表什么,注意比较两种情况下FileList对象的属性,第一种没有上传文件的情况下,FileList对象只有一个属性值 length:0;而在第二种首先上传文件的情况下,FileList对象的属性为 0:File, length:1,console.log(fileDom.files[length])也能输出length属性对应的值)
|
|
3 文件上传之后——FileList对象——FileList对象包含File对象——File对象里面又包含了以下API:
|
|
4 FileReader 对象的相关API如下:
该对象的 方法将确定如何读取文件的方式,然后将读取到的文件存在其属性reader.result里面
|
|
5 .FileError这个类可以自己生成,主要用来提示文件操作中的错误,以下基本为常量,可直接使用【类名.属性】
|
|